var ns, app, dialog, toast,actionsheet, imageBrowser, WXPhotoPicker, docReader, fileBrowser;
var app = new Vue({
    el: '#app',
    data: {
        // IsAccept:同意,IsReject:拒绝,IsRevoke:撤销,
        list: [],
        IsReject:0,//---1-表示拒绝 0表示同意
        ApprovalID:0,
        PendingUserID:0,//---待审批用户UserID
        AcceptCont:'',//---内容描述
        ischecked:false,
        chooseType:1,
        choose_id_list:[],
        select_id_list:[],
        //审批-附件
        exshowup:false,
        exmaxuploadcount: CONFIG.maxuploadcount,
        exUploadList:[],
        exFileList:[],
    },
    methods: {
        checkbox:function(){
            var that=this;
            that.ischecked=event.target.checked;
            // if(that.ischecked==true){
            //     that.do_openperson();
            // }
        },
        do_openperson:function(){
            ns.openWin('chooseperson_frm', '选择', {
                source:'chooseuser',
            });
        },
        do_save:function(){
            var that=this;
            var options={};
            options.ApprovalID = that.ApprovalID;
            if(that.IsReject==0){//同意
                options.Type=1;
            }
             if(that.IsReject==1){//拒绝
                options.Type=2;
            }
            options.action = "getisoperate";
            ns.post(options, function (succeed, data, err) {
                if(data.status==true){
                    that.do_saveinto();
                }
                else{
                    api.toast({
                        msg: '状态已改变，请重新选择',
                        duration: 2000,
                        location: 'bottom'
                    });
                    setTimeout(function () {
                        api.closeWin();
                    }, 500);
                }
            });

        },
        //展开选择的全部人员
        open_more:function(type){
            var that=this;
            //审批全部
            if(type==1){
                ns.openWin('examine_Allperson', '全部审批人员', {
                    list: that.choose_id_list,
                    type:type,
                 }); 
            }else if(type==0){
                ns.openWin('examine_Allperson', '全部抄送人员', {
                    list: that.select_id_list,
                    type:type,
                 }); 
            }

        },
        //选择人
        choose_persons: function(IsApproval) {
            var that = this;
            that.chooseType=IsApproval;
            // IsApproval==0//抄送
            if(IsApproval==0){
                // ns.openWin('chooseperson_frm', '请选择', {
                //         source: 'transfer',
                // }); 
                ns.openWin('chooseuser_frm', '请选择抄送人', {
                    source: 'transfer',
                }); 
            }
            //IsApproval==1//审批
            if(IsApproval==1){
                // ns.openWin('chooseperson_frm', '请选择', {
                //     source: 'transfer',
                // }); 
                ns.openWin('chooseuser_frm', '请选择审批人', {
                    source: 'transfer',
                });
            }
               
        },
        //移除抄送人
        guanbi_pic:function(id,IsApproval){
            var that=this;
            that.chooseType=IsApproval;
            if(that.chooseType==1){
                // that.choose_id_list.splice(index,1);
                that.choose_id_list = that.choose_id_list.filter((item) => {
                    return item.UserID != id
                    });
            }
            if(that.chooseType==0){
                // console.log(JSON.stringify(that.select_id_list));
                // that.select_id_list.splice(index,1);
                that.select_id_list = that.select_id_list.filter((item) => {
                    return item.UserID != id
                    });
            }
            
        },
        // 抄送人
        select_person:function(select_list,type){
            var that=this;
            if(type==0){
                for (var i = 0; i < select_list.length; i++) {
                    var item = select_list[i];
                    that.select_id_list.push(item);
                }
            }else{
                for (var i = 0; i < select_list.length; i++) {
                    var item = select_list[i];
                    that.choose_id_list.push(item);
                }
            }
            
            let obj = {};
            if(type==0){
                let peon = that.select_id_list.reduce((cur,next) => {
                    obj[next.UserID] ? "" : obj[next.UserID] = true && cur.push(next);
                    return cur;
                },[]) ;
                that.select_id_list=peon;
            }else{
                let peon = that.choose_id_list.reduce((cur,next) => {
                    obj[next.UserID] ? "" : obj[next.UserID] = true && cur.push(next);
                    return cur;
                },[]) ;
                that.choose_id_list=peon;
            }
           
        },

        do_saveinto:function(){
            var that=this;
            var PendingUserIDList=[];
            var SendUserIDList=[];
            if(that.ischecked){
                if(that.choose_id_list.length<=0){
                    api.toast({
                        msg: '请选择审批人',
                        duration: 2000,
                        location: 'bottom'
                    });
                    return;
                }else{
                    for (let i = 0; i < that.choose_id_list.length; i++) {
                        PendingUserIDList.push(that.choose_id_list[i].UserID);
                    }
                }
            }
            if(that.select_id_list.length>0){
                for (let i = 0; i < that.select_id_list.length; i++) {
                    SendUserIDList.push(that.select_id_list[i].UserID);
                }
            }

            //审批-附件
            that.exFileList=[];
            for (var i = 0; i < that.exUploadList.length; i++) {
                var item = that.exUploadList[i].ID;
                that.exFileList.push(item);
            }
            var options={};
            options.IsReject=that.IsReject;
            options.ApprovalID=that.ApprovalID;
            options.PendingUserIDList=JSON.stringify(PendingUserIDList);
            options.SendUserIDList=JSON.stringify(SendUserIDList);
            options.AcceptCont=that.AcceptCont;
            options.exFileList = JSON.stringify(that.exFileList);
            options.action="approvalacceptnew";
            ns.post(options, function (succeed, data, err) {
                if (succeed) {
                    if (!data.status) {
                        if (data.Msg) {
                            api.toast({
                                msg: data.Msg,
                                duration: 2000,
                                location: 'bottom'
                            });
                            return;
                        }
                        api.toast({
                            msg: "接口报错",
                            duration: 2000,
                            location: 'bottom'
                        });
                        return;
                    }
                    that.AcceptCont='';
                    api.toast({
                        msg: '提交成功',
                        duration: 2000,
                        location: 'bottom'
                    });
                    setTimeout(function () {
                        api.closeWin();
                    }, 500);
                    api.sendEvent({
                        name: 'reloadexaminelist',
                    });
                    api.sendEvent({
                        name: 'reloadexaminedetail',
                    });
                } else if (err) {
                    api.toast({
                        msg: err,
                        duration: 2000,
                        location: 'bottom'
                    });
                }
            });

        },
        // guanbi_pic:function(index,IsApproval){
        //     var that=this;
        //     that.chooseType=IsApproval;
        //     if(that.chooseType==1){
        //         that.choose_id_list.splice(index,1);
        //     };
        //     that.ischecked=false;
        // },
        //移除抄送人
        guanbi_pic:function(id,IsApproval){
            var that=this;
            that.chooseType=IsApproval;
            if(that.chooseType==1){
                that.choose_id_list = that.choose_id_list.filter((item) => {
                    return item.UserID != id
                    });
            }
            if(that.chooseType==0){
                that.select_id_list = that.select_id_list.filter((item) => {
                    return item.UserID != id
                    });
            }
            
        },
       //审批-上传附件
       do_openUp_ex: function () {
            var that = this;
            that.exshowup = true;
        },
        //上传图片
        add_picture_ex: function () {
            var that = this;
            that.exshowup = false;
            ns.confirmPer('camera', function () {
                that.choose_picture_start_ex();
            })
        },
        choose_picture_start_ex:function(){
            var that = this;
            if (that.exUploadList.length >= that.exmaxuploadcount) {
                api.toast({
                    msg: '最多支持' + that.exmaxuploadcount + '张图片',
                    duration: 2000,
                    location: 'bottom'
                });
                return;
            }
            api.actionSheet({
                cancelTitle: '取消',
                buttons: ['拍照', '从相册选择']
            }, function(ret, err) {
                //拍照
                if(ret.buttonIndex==1){ 
                    that.upload_choose_picture_ex();
                    return;
                }
                //从相册选择
                if(ret.buttonIndex==2){
                    that.choose_picture_album_ex();
                    return;
                } 
                //取消 
                else{
                    return false;  
                }  
            });
        },
        upload_choose_picture_ex:function(){
            var that = this;
            api.getPicture({
                sourceType: 'camera',
                encodingType: 'jpg',
                destinationType: 'url',
                allowEdit: false,
                saveToPhotoAlbum: true,
            }, function(ret, err) {
                if (ret&&ret.data) {
                    var list = [];
                    list.push({
                        url: ret.data,
                    });
                    const params = {
                        action: "uploadfileone",
                    }
                    ns.post(params, function (succeed, data, err) {
                        if (succeed) {
                            that.exUploadList.push(data.file);
                        }
                    }, {
                        files: {
                            file: list[0].url
                        }
                    })
                } 
            });
        },
        choose_picture_album_ex:function(){
            var that = this;
            WXPhotoPicker.open({
                max: that.exmaxuploadcount - that.exUploadList.length,
                type:'image',
            }, function(ret) {
                if (ret) {
                    if (ret.list.length > 0) {
                        ret.list.forEach((item) => {
                            var list = [];
                            list.push({
                                url: item.path,
                            });
                            const params = {
                                action: "uploadfileone",
                            }
                            ns.post(params, function (succeed, data, err) {
                                if (succeed) {
                                    that.exUploadList.push(data.file);
                                }
                            }, {
                                files: {
                                    file: list[0].url
                                }
                            })
                        });
                    }
                }
            });
        },
        //上传视频
        add_vedio_ex: function () {
            var that = this;
            that.exshowup = false;
            ns.confirmPer('camera', function () {
                that.choose_video_start();
            })
        },
        choose_video_start_ex: function () {
            var that = this;
            WXPhotoPicker.open({
                max: that.exmaxuploadcount - that.exUploadList.length,
                type:'video',
            }, function(ret) {
                if (ret) {
                    if (ret.list.length > 0) {
                        ret.list.forEach((item) => {
                            var list = [];
                            list.push({
                                url: item.path,
                            });
                            const params = {
                                action: "uploadfileone",
                            }
                            ns.post(params, function (succeed, data, err) {
                                if (succeed) {
                                    that.exUploadList.push(data.file);
                                }
                            }, {
                                files: {
                                    file: list[0].url
                                }
                            })
                        });
                    }
                }
            });
        },
        // 播放视频
        open_video_ex: function (item) {
            var that = this;
            var module = api.require('easyVideoPlayer');
            var param = {
                msg: item.FilePath
            };
            api.download({
                url: item.FilePath,
                savePath: 'fs://app/' + item.FileName,
                report: true,
                cache: true,
                allowResume: true
            }, function (ret, err) {
                if (ret.state == 1) {
                    module.playVideo(param);
                }
            })
        },
         //上传文件
         add_wenjian_ex: function () {
            var that = this;
            that.exshowup= false;
            fileBrowser.open({
                confirm: true
            }, function (ret) {
                fileBrowser.close();
                // alert(JSON.stringify(ret))
                // alert(JSON.stringify(ret && ret.status))
                if (ret) {
                    const url = ret.url || ""
                    var i = url.lastIndexOf('.');
                    var j = url.length;
                    var wenjianName = url.slice(i + 1, j);
                    const params = {
                        action: "fileupload",
                    }
                    ns.post(params, function (succeed, data, err) {
                        if (succeed) {
                            if(data.imgs&&data.imgs.length>0){
                                that.exUploadList.push(data.imgs[0]);
                            }
                        }
                    }, {
                        files: {
                            file: [url]
                        }
                    })
                    return;
                }
                return false;
            });
        },
        open_flie_ex: function (item, index) {
            var that = this;
            var i = item.FileName.lastIndexOf('.');
            var j = item.FileName.length;
            var nameType = item.FileName.slice(i + 1, j);
            if (nameType == 'png' || nameType == 'jpg'||nameType == 'jpeg'|| nameType == 'tif' || nameType == 'gif') {
                that.img_browser_ex(item.FilePath);
            } else if (nameType == 'mp4'||nameType == 'wmv'||nameType == 'rmvb'||nameType == 'avi') {
                that.open_video_ex(item);
            }else {
                that.do_openFile_ex(item);
            }
        },
        img_browser_ex: function (imgurl) {
            var that = this;
            var imgurls = [];
            imgurls.push(imgurl);
            imageBrowser.openImages({
                imageUrls: imgurls,
                showList: false,
                activeIndex: 0
            });
        },
        do_openFile_ex: function (item) {
            api.download({
                url: item.FilePath,
                savePath: 'fs://app/' + item.FileName,
                report: true,
                cache: true,
                allowResume: true
            }, function (ret, err) {
                if (ret.state == 1) {
                    docReader.open({
                        path: ret.savePath,
                        autorotation: false
                    }, function(ret, err) {
                        if (ret.status) {
                            // alert(JSON.stringify(ret));
                        } else {
                            alert(JSON.stringify(err));
                        }
                    });
                }else{
                    api.toast({
                        msg: '打开失败',
                        duration: 2000,
                        location: 'bottom'
                    });
                }

            })
        },
        //删除文件
        do_delete_ex: function (id) {
            var that = this;
            that.exUploadList = that.exUploadList.filter((item) => {
                return item.ID != id
            });
        },
    }
});
apiready = function () {
    api.parseTapmode();
    ns = window.Foresight.Util;
    dialog = new auiDialog();
    toast = new auiToast();
    actionsheet = new auiActionsheet();
    imageBrowser = api.require('imageBrowser');
    fileBrowser = api.require('fileBrowser');
    docReader = api.require('docReader');
    WXPhotoPicker = api.require('WXPhotoPicker');
    app.ApprovalID = api.pageParam.ApprovalID ;
    app.IsReject = api.pageParam.IsReject ;
    
    // ns.init_pull();
    api.addEventListener({
        name: 'purchase_add'
    }, function (ret) {
        if( app.chooseType==1){
            var chooselist=ret.value.data;
            app.select_person(chooselist,1);
            // app.choose_id_list=ret.value.data;
        }
        if( app.chooseType==0){

            var select_list=ret.value.data;
            app.select_person(select_list,0);
        }

    })
    api.addEventListener({
        name: 'purchase_update'
    }, function (ret) {
        if( ret.value.type==1){
            app.choose_id_list=ret.value.data;
        }
        if( ret.value.type==0){
            app.select_id_list=ret.value.data;
        }

    })
    
};
